package com.vst.orm.util;

import java.io.File;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Calendar;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;


/**
 * 辅助类
 * @author 江荣盛
 * 2012-8-1下午05:06:02
 */
public class StringUtil {
	private StringUtil(){}
	/**
	 * 判断非空
	 *@param @param obj
	 *@param @return
	 *@return boolean
	 *@throws
	 */
	public static boolean isValid(Object obj)
	{
		if(null == obj || "".equals(obj) || "null".equals(obj))
		{
			return false;
		}
		//判断是否为空格
		if (obj.toString().trim().isEmpty())
		{
			return false;
		}
		return true;
	}
	/**
	 * 去除手机号码前面的86
	 *@param @param tel
	 *@param @return
	 *@return String
	 *@throws
	 */
	public static String cutTel86(String tel){
		if(isValid(tel))
		{
			tel = tel.trim();
			if(tel.startsWith("86"))
			{
				tel = tel.substring(2);
			}
			if(tel.startsWith("+86"))
			{
				tel = tel.substring(3);
			}
		}
		return tel;
	}
	/**
	 * 去除手机号码前面的0
	 *@param @param tel
	 *@param @return
	 *@return String
	 *@throws
	 */
	public static String cutTelZero(String tel){
		if(isValid(tel))
		{
			tel = tel.trim();
			if(tel.startsWith("0"))
			{
				tel = tel.substring(1);
			}
		}
		return tel;
	}
	/**
	 * 得到文件路径separator
	 * （判断系统是windows还是linux）
	 *@param @return
	 *@return String
	 *@throws
	 */
	public static String getFilePathSplit(){
		String separator = "/";
        if("//".equals(File.separator))
        {
        	//Linux
        	separator = "\\";
        }
        else if("/".equals(File.separator))
        {
        	//windows
        	separator = "/";
        }
        return separator;
	}
	
	/**
	 * 根据 数据字典类型JSON和key 获取 数据字典选项名称
	 *@param @param dictType
	 *@param @param value
	 *@param @return
	 *@return String
	 *@throws
	 */
	public static String decodeDict(JSONArray ja, String value){
		
		String name = "";
		if(StringUtil.isValid(ja))
		{
			
			for(int i = 0; i < ja.size(); i++)
			{
				JSONObject jo = ja.getJSONObject(i);
				if(StringUtil.isValid(value) && value.equals(jo.get("id")))
				{
					name = jo.getString("text");
					break;
				}
			}
		}
		
		return name;
	}
	
	/**
	 * 根据 数据字典类型JSON和名称 获取 数据字典选项key
	 *@param @param ja
	 *@param @param text
	 *@param @return
	 *@return String
	 *@throws
	 */
	public static String encodeText(JSONArray ja, String text){
		
		String id = "";
		if(StringUtil.isValid(ja))
		{
			
			for(int i = 0; i < ja.size(); i++)
			{
				JSONObject jo = ja.getJSONObject(i);
				if(StringUtil.isValid(text) && text.equals(jo.get("text")))
				{
					id = jo.getString("id");
					break;
				}
			}
		}
		
		return id;
	}
	
	public static void main(String[] args)
	{
		String a = "     ";
		String b = null;
		String c = "";
		System.out.println("******************************");
		if (isValid(a)) 
		{
			System.out.println("Error:a");
		}
		if (isValid(b)) 
		{
			System.out.println("Error:b");
		}
		if (isValid(c)) 
		{
			System.out.println("Error:c");
		}
		System.out.println("******************************");
	}
	
}
